package proxy;

import java.lang.reflect.Proxy;

/**
 * .
 *
 * @author <a href="mailto:sunhao.java@gmail.com">sunhao(sunhao.java@gmail.com)</a>
 * @date 2018/6/13 下午10:19
 */
public class ProxyTest {
    public static void main(String[] args) {
        // 实例化目标对象
        UserService userService = new UserServiceImpl();

        // 实例化InvocationHandler
        MyInvocationHandler invocationHandler = new MyInvocationHandler();

        // 根据目标对象生成代理对象
        UserService proxy = (UserService) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), userService.getClass().getInterfaces(), invocationHandler);

        // 调用代理对象的方法
        proxy.add();
    }
}
